在 Python 中,列表 (List) 和元組 (Tuple) 是兩個最常見的資料結構。它們的主要區別在於列表是可變的,而元組是不可變的。列表和元組廣泛應用於儲存有序的數據,並且各自有其特定的使用場景。今天的學習目標是深入了解列表的操作與切片功能,並探討元組的使用場景。
列表是一個可以包含多種類型元素的可變序列。以下是常見的操作:
fruits = ["蘋果", "香蕉", "橘子"]
append()
方法將新元素添加到列表末尾。fruits.append("葡萄")
print(fruits) # 輸出: ['蘋果', '香蕉', '橘子', '葡萄']
insert()
方法在指定位置插入元素。fruits.insert(1, "草莓")
print(fruits) # 輸出: ['蘋果', '草莓', '香蕉', '橘子', '葡萄']
remove()
方法刪除列表中的特定元素。fruits.remove("橘子")
print(fruits) # 輸出: ['蘋果', '草莓', '香蕉', '葡萄']
sort()
方法對列表進行排序。fruits.sort()
print(fruits) # 輸出: ['香蕉', '草莓', '蘋果', '葡萄']
切片是從列表中提取一個子列表的強大工具,通過指定開始和結束索引來進行操作。
numbers = [0, 1, 2, 3, 4, 5]
sub_list = numbers[1:4]
print(sub_list) # 輸出: [1, 2, 3]
print(numbers[:3]) # 輸出: [0, 1, 2]
print(numbers[3:]) # 輸出: [3, 4, 5]
print(numbers[::2]) # 輸出: [0, 2, 4]
列表適合在需要動態調整數據的情況下使用,如不斷新增或刪除元素的情境。常見的使用場景包括:
元組是一種不可變的序列,意思是創建後無法修改其內容。它使用小括號來定義,並可以包含多種類型的元素。
dimensions = (10, 20, 30)
print(dimensions[1]) # 輸出: 20
length, width, height = dimensions
print(length, width, height) # 輸出: 10 20 30
由於元組是不可變的,它非常適合在需要保護數據不被修改的情況下使用。常見使用場景包括:
特性 | 列表 (List) | 元組 (Tuple) |
---|---|---|
可變性 | 可變 (可以新增、刪除、修改元素) | 不可變 (一旦創建無法改變) |
定義符號 | 中括號 [] |
小括號 () |
使用場景 | 需要動態修改數據 | 固定資料集,不允許修改 |
性能 | 比元組稍慢 | 性能比列表稍快 |
題目描述:輸入一個數字列表,程式將找出其中的最大和最小值。
解題思路:
max()
和 min()
函數找出列表的最大值和最小值。範例程式碼:
numbers = [5, 10, 15, 20, 25]
print(f"最大值: {max(numbers)}, 最小值: {min(numbers)}")
題目描述:請使用者輸入一個數字列表,程式將計算所有元素的總和。
解題思路:
sum()
來計算列表中所有數字的總和。範例程式碼:
numbers = [1, 2, 3, 4, 5]
print(f"總和: {sum(numbers)}")
題目描述:輸入一個包含數字的列表,通過切片操作輸出部分子列表。
解題思路:
範例程式碼:
numbers = [10, 20, 30, 40, 50, 60, 70]
sub_list = numbers[2:5]
print(f"切片後的列表: {sub_list}") # 輸出: [30, 40, 50]
題目描述:定義一個元組,將其中的元素解包到變數中,並輸出每個變數的值。
解題思路:
範例程式碼:
dimensions = (5, 10, 15)
length, width, height = dimensions
print(f"長度: {length}, 寬度: {width}, 高度: {height}")
列表與元組是 Python 中兩個非常強大的資料結構。列表的可變性使其非常適合於需要頻繁修改數據的場景,而元組的不可變性則確保了數據的完整性。在這次學習中,我們不僅學習了它們的基本操作和使用場景,還通過範例題目進一步鞏固了對列表切片和元組解包的應用。